DAWPL: A Simple Rust Based DSL For Algorithmic Composition and Music Production
نویسنده
چکیده
Algorithmic music composition languages provide a particularly interesting challenge for language, abstraction, and system design. The term “music” encompasses a wide variety of things, from the production noise from signal generators, to a notation widely understood by musicians that expresses melody and rhythm. In this project, we investigate DAWPL (Digital Audio Workstation Programming Language), a simple DSL (domain specific language) that uses Rust to cater to the expressiveness of standard music theory (within the context of DAWPL, we consider Jazz theory in particular) and the organizational scheme of a DAW. DAWPL provides an API through which users can generate, sequence, and process sounds. DAWPL code is translated to SuperCollider (a popular and well-established algorithmic composition language), which actually produces the sound. DAWPL provides a more syntactically intuitive way for musicians to interact with algorithmic composition (it also carries with it Rust’s rich syntax and type system). Furthermore, DAWPL brings with it the ability to write extensions in Rust, which has a much richer and more flexible type system. We will analyze and compare the expressiveness of DAWPL and SuperCollider and comment on how their individual attributes reflect their desired use-cases. We will also comment on the overall structure of DAWPL (and its implementation) and reflect on how Rust’s language features facilitate its implementation. Possible use-cases for DAWPL include providing artists the ability to “prototype” tunes and productions , build tools to facilitate composition (e.g. “Auto-improvisers”), generalize music composition patterns, or generate complicated and intricate tunes in a programmatic fashion.
منابع مشابه
Techniques for Algorithmic Composition of Music
This paper is an overview of various techniques used by the author over the last 3 years in the production of computer-generated music. It covers work using semi-random noise, chaotic dynamical systems, contour analysis, and evolutionary programming.
متن کاملComputer models for algorithmic composition
algorithmic composition models used in the domain of systems generating music compositions are presented in the paper. Moreover, the model based on the transition matrix of music events (music patterns described by notes, measures and durations) and classification of the instrumental parts appearing in the input music work is presented. An exemplary implementation of the model is described usin...
متن کاملHaskore Music Notation - An Algebra of Music
We have developed a simple algebraic approach to music description and composition called Haskore In this framework musical objects consist of primitive notions such as notes and rests operations to transform musical objects such as transpose and tempo scaling and operations to combine musical objects to form more complex ones such as concurrent and sequential composition When these simple noti...
متن کاملAlgorithmic Composition: Computational Thinking in Music DRAFT
Despite the still-prevalent but essentially nineteenth century perception of the Western creative artist, an algorithmic approach to music composition has been in evidence in Western classical music for at least one thousand years. The history of algorithmic composition—from both before and after the invention of the digital computer—will be presented along with specific techniques and musical ...
متن کاملA Study of the Integrated Automated Emotion Music with the Motion Gesture Synthesis via ZigBee Wireless Communication
Automated music composition and algorithmic composition are based on the logic operation with music parameters being set according to the desired music style or emotion. The computer generative music can be integrated with other domains using proper mapping techniques, such as the intermedia arts with music technology. This paper mainly discusses the possibility of integrating both automatic co...
متن کامل